import { expect, test } from 'vitest'

import * as exports from './index.js'

test('exports', () => {
  expect(Object.keys(exports)).toMatchInlineSnapshot(`
    [
      "CircularReferenceError",
      "InvalidAbiItemError",
      "InvalidAbiParameterError",
      "InvalidAbiParametersError",
      "InvalidAbiTypeParameterError",
      "InvalidFunctionModifierError",
      "InvalidModifierError",
      "InvalidParameterError",
      "InvalidParenthesisError",
      "InvalidSignatureError",
      "InvalidStructSignatureError",
      "parseAbi",
      "parseAbiItem",
      "parseAbiParameter",
      "parseAbiParameters",
      "SolidityProtectedKeywordError",
      "UnknownSignatureError",
      "UnknownTypeError",
      "getContract",
      "WaitForCallsStatusTimeoutError",
      "createClient",
      "rpcSchema",
      "createPublicClient",
      "createTestClient",
      "createWalletClient",
      "publicActions",
      "testActions",
      "walletActions",
      "createTransport",
      "custom",
      "fallback",
      "shouldThrow",
      "http",
      "webSocket",
      "erc20Abi",
      "erc20Abi_bytes32",
      "erc721Abi",
      "erc1155Abi",
      "erc4626Abi",
      "erc6492SignatureValidatorAbi",
      "universalSignatureValidatorAbi",
      "multicall3Abi",
      "ethAddress",
      "zeroAddress",
      "zeroHash",
      "deploylessCallViaBytecodeBytecode",
      "deploylessCallViaFactoryBytecode",
      "erc6492SignatureValidatorByteCode",
      "universalSignatureValidatorByteCode",
      "maxInt8",
      "maxInt16",
      "maxInt24",
      "maxInt32",
      "maxInt40",
      "maxInt48",
      "maxInt56",
      "maxInt64",
      "maxInt72",
      "maxInt80",
      "maxInt88",
      "maxInt96",
      "maxInt104",
      "maxInt112",
      "maxInt120",
      "maxInt128",
      "maxInt136",
      "maxInt144",
      "maxInt152",
      "maxInt160",
      "maxInt168",
      "maxInt176",
      "maxInt184",
      "maxInt192",
      "maxInt200",
      "maxInt208",
      "maxInt216",
      "maxInt224",
      "maxInt232",
      "maxInt240",
      "maxInt248",
      "maxInt256",
      "maxUint8",
      "maxUint16",
      "maxUint24",
      "maxUint32",
      "maxUint40",
      "maxUint48",
      "maxUint56",
      "maxUint64",
      "maxUint72",
      "maxUint80",
      "maxUint88",
      "maxUint96",
      "maxUint104",
      "maxUint112",
      "maxUint120",
      "maxUint128",
      "maxUint136",
      "maxUint144",
      "maxUint152",
      "maxUint160",
      "maxUint168",
      "maxUint176",
      "maxUint184",
      "maxUint192",
      "maxUint200",
      "maxUint208",
      "maxUint216",
      "maxUint224",
      "maxUint232",
      "maxUint240",
      "maxUint248",
      "maxUint256",
      "minInt8",
      "minInt16",
      "minInt24",
      "minInt32",
      "minInt40",
      "minInt48",
      "minInt56",
      "minInt64",
      "minInt72",
      "minInt80",
      "minInt88",
      "minInt96",
      "minInt104",
      "minInt112",
      "minInt120",
      "minInt128",
      "minInt136",
      "minInt144",
      "minInt152",
      "minInt160",
      "minInt168",
      "minInt176",
      "minInt184",
      "minInt192",
      "minInt200",
      "minInt208",
      "minInt216",
      "minInt224",
      "minInt232",
      "minInt240",
      "minInt248",
      "minInt256",
      "presignMessagePrefix",
      "etherUnits",
      "gweiUnits",
      "weiUnits",
      "AbiConstructorNotFoundError",
      "AbiConstructorParamsNotFoundError",
      "AbiDecodingDataSizeInvalidError",
      "AbiDecodingDataSizeTooSmallError",
      "AbiDecodingZeroDataError",
      "AbiEncodingArrayLengthMismatchError",
      "AbiEncodingBytesSizeMismatchError",
      "AbiEncodingLengthMismatchError",
      "AbiErrorInputsNotFoundError",
      "AbiErrorNotFoundError",
      "AbiErrorSignatureNotFoundError",
      "AbiEventNotFoundError",
      "AbiEventSignatureEmptyTopicsError",
      "AbiEventSignatureNotFoundError",
      "AbiFunctionNotFoundError",
      "AbiFunctionOutputsNotFoundError",
      "AbiFunctionSignatureNotFoundError",
      "BytesSizeMismatchError",
      "DecodeLogDataMismatch",
      "DecodeLogTopicsMismatch",
      "InvalidAbiDecodingTypeError",
      "InvalidAbiEncodingTypeError",
      "InvalidArrayError",
      "InvalidDefinitionTypeError",
      "UnsupportedPackedAbiType",
      "InvalidAddressError",
      "BaseError",
      "setErrorConfig",
      "BlockNotFoundError",
      "BundleFailedError",
      "ChainDoesNotSupportContract",
      "ChainMismatchError",
      "ChainNotFoundError",
      "ClientChainNotConfiguredError",
      "InvalidChainIdError",
      "CallExecutionError",
      "ContractFunctionExecutionError",
      "ContractFunctionRevertedError",
      "ContractFunctionZeroDataError",
      "CounterfactualDeploymentFailedError",
      "RawContractError",
      "SizeExceedsPaddingSizeError",
      "SliceOffsetOutOfBoundsError",
      "IntegerOutOfRangeError",
      "InvalidBytesBooleanError",
      "InvalidHexBooleanError",
      "InvalidHexValueError",
      "SizeOverflowError",
      "EnsAvatarInvalidNftUriError",
      "EnsAvatarUnsupportedNamespaceError",
      "EnsAvatarUriResolutionError",
      "EnsInvalidChainIdError",
      "EstimateGasExecutionError",
      "BaseFeeScalarError",
      "Eip1559FeesNotSupportedError",
      "MaxFeePerGasTooLowError",
      "FilterTypeNotSupportedError",
      "ExecutionRevertedError",
      "FeeCapTooHighError",
      "FeeCapTooLowError",
      "InsufficientFundsError",
      "IntrinsicGasTooHighError",
      "IntrinsicGasTooLowError",
      "NonceMaxValueError",
      "NonceTooHighError",
      "NonceTooLowError",
      "TipAboveFeeCapError",
      "TransactionTypeNotSupportedError",
      "UnknownNodeError",
      "HttpRequestError",
      "RpcRequestError",
      "SocketClosedError",
      "TimeoutError",
      "WebSocketRequestError",
      "AtomicityNotSupportedError",
      "AtomicReadyWalletRejectedUpgradeError",
      "BundleTooLargeError",
      "ChainDisconnectedError",
      "DuplicateIdError",
      "InternalRpcError",
      "InvalidInputRpcError",
      "InvalidParamsRpcError",
      "InvalidRequestRpcError",
      "JsonRpcVersionUnsupportedError",
      "LimitExceededRpcError",
      "MethodNotFoundRpcError",
      "MethodNotSupportedRpcError",
      "ParseRpcError",
      "ProviderDisconnectedError",
      "ProviderRpcError",
      "ResourceNotFoundRpcError",
      "ResourceUnavailableRpcError",
      "RpcError",
      "SwitchChainError",
      "TransactionRejectedRpcError",
      "UnauthorizedProviderError",
      "UnknownBundleIdError",
      "UnknownRpcError",
      "UnsupportedChainIdError",
      "UnsupportedNonOptionalCapabilityError",
      "UnsupportedProviderMethodError",
      "UserRejectedRequestError",
      "AccountStateConflictError",
      "StateAssignmentConflictError",
      "FeeConflictError",
      "InvalidLegacyVError",
      "InvalidSerializableTransactionError",
      "InvalidSerializedTransactionError",
      "InvalidSerializedTransactionTypeError",
      "InvalidStorageKeySizeError",
      "TransactionExecutionError",
      "TransactionNotFoundError",
      "TransactionReceiptNotFoundError",
      "WaitForTransactionReceiptTimeoutError",
      "UrlRequiredError",
      "InvalidDomainError",
      "InvalidPrimaryTypeError",
      "InvalidStructTypeError",
      "InvalidDecimalNumberError",
      "EIP1193ProviderRpcError",
      "decodeAbiParameters",
      "decodeDeployData",
      "decodeErrorResult",
      "decodeEventLog",
      "decodeFunctionData",
      "decodeFunctionResult",
      "encodeAbiParameters",
      "encodeDeployData",
      "encodeErrorResult",
      "encodeEventTopics",
      "encodeFunctionData",
      "encodeFunctionResult",
      "encodePacked",
      "getAbiItem",
      "parseEventLogs",
      "prepareEncodeFunctionData",
      "checksumAddress",
      "getAddress",
      "getContractAddress",
      "getCreate2Address",
      "getCreateAddress",
      "isAddress",
      "isAddressEqual",
      "blobsToCommitments",
      "blobsToProofs",
      "commitmentsToVersionedHashes",
      "commitmentToVersionedHash",
      "fromBlobs",
      "sidecarsToVersionedHashes",
      "toBlobSidecars",
      "toBlobs",
      "ccipRequest",
      "ccipFetch",
      "offchainLookup",
      "offchainLookupAbiItem",
      "offchainLookupSignature",
      "assertCurrentChain",
      "defineChain",
      "extractChain",
      "getChainContractAddress",
      "concat",
      "concatBytes",
      "concatHex",
      "isBytes",
      "isHex",
      "pad",
      "padBytes",
      "padHex",
      "size",
      "slice",
      "sliceBytes",
      "sliceHex",
      "trim",
      "bytesToBigInt",
      "bytesToBool",
      "bytesToNumber",
      "bytesToString",
      "fromBytes",
      "fromHex",
      "hexToBigInt",
      "hexToBool",
      "hexToNumber",
      "hexToString",
      "fromRlp",
      "boolToBytes",
      "hexToBytes",
      "numberToBytes",
      "stringToBytes",
      "toBytes",
      "boolToHex",
      "bytesToHex",
      "numberToHex",
      "stringToHex",
      "toHex",
      "bytesToRlp",
      "hexToRlp",
      "toRlp",
      "labelhash",
      "namehash",
      "toCoinType",
      "getContractError",
      "defineBlock",
      "formatBlock",
      "formatLog",
      "defineTransaction",
      "formatTransaction",
      "transactionType",
      "defineTransactionReceipt",
      "formatTransactionReceipt",
      "defineTransactionRequest",
      "formatTransactionRequest",
      "rpcTransactionType",
      "isHash",
      "keccak256",
      "ripemd160",
      "sha256",
      "toEventHash",
      "toEventSelector",
      "getEventSelector",
      "toEventSignature",
      "getEventSignature",
      "toFunctionHash",
      "toFunctionSelector",
      "getFunctionSelector",
      "toFunctionSignature",
      "getFunctionSignature",
      "defineKzg",
      "setupKzg",
      "createNonceManager",
      "nonceManager",
      "withCache",
      "withRetry",
      "withTimeout",
      "compactSignatureToSignature",
      "hashMessage",
      "hashDomain",
      "hashStruct",
      "hashTypedData",
      "isErc6492Signature",
      "isErc8010Signature",
      "hexToCompactSignature",
      "parseCompactSignature",
      "parseErc6492Signature",
      "parseErc8010Signature",
      "hexToSignature",
      "parseSignature",
      "recoverAddress",
      "recoverMessageAddress",
      "recoverPublicKey",
      "recoverTransactionAddress",
      "recoverTypedDataAddress",
      "compactSignatureToHex",
      "serializeCompactSignature",
      "serializeErc6492Signature",
      "serializeErc8010Signature",
      "signatureToHex",
      "serializeSignature",
      "signatureToCompactSignature",
      "toPrefixedMessage",
      "verifyHash",
      "verifyMessage",
      "verifyTypedData",
      "stringify",
      "assertRequest",
      "assertTransactionEIP1559",
      "assertTransactionEIP2930",
      "assertTransactionLegacy",
      "getSerializedTransactionType",
      "getTransactionType",
      "parseTransaction",
      "serializeAccessList",
      "serializeTransaction",
      "domainSeparator",
      "getTypesForEIP712Domain",
      "serializeTypedData",
      "validateTypedData",
      "formatEther",
      "formatGwei",
      "formatUnits",
      "parseEther",
      "parseGwei",
      "parseUnits",
    ]
  `)
})
